The present invention relates to an apparatus and a method for demultiplexing a packet stream in which various kinds of data are multiplexed, and a data storage medium containing a program for implementing the demultiplexing process by software. More specifically, the invention relates to demultiplexing of a packet stream in which various kinds of data are multiplexed by MPEG2 which is an international standard of image compressive coding, or a packet stream in which a plurality of object data are multiplexed by MPEG4 which is currently being standardized.
In recent years, MPEG4 has been discussed as a method for transmitting digital data of video, audio, and control information in packets (reference literatures: ISO/IEC JTC1/SC29/WG11 N1692 MPEG4-Systems Working Draft 4.0, ISO/IEC JTC1/SC29/WG11 N1693 MPEG4-Systems Verification Model 4.0). In MPEG4, digital data of compressively coded video and audio, object composition information describing hierarchy of objects, and object descriptors describing coding schemes of the objects are subjected to the MPEG4 packetization using the Access Unit Layer, and these MPEG4 packets are further packetized by another multiplexing protocol such as MPEG2 (reference literature: ISO/IEC JTC1/SC29/WG11 N801 xe2x80x9cISO/IEC 13818-1). On the other hand, in MPEG2, video and audio data compressively coded by MPEG2 are packetized in a format called xe2x80x9cPES (Packetized Elementary Stream) Packetxe2x80x9d, and the PES packet is divided into fixed-length packets called xe2x80x9cTS (Transport Stream) packetsxe2x80x9d.
In MPEG4, standardization for which is currently in progress, since the MPEG4 packetization using the Access Unit Layer is indispensible, video and audio data compressively coded by MPEG2 are also subjected to the MPEG4 packetization. Therefore, when an MPEG2 data receiver for receiving satellite broadcasting or CATV broadcasting, which have been spread in recent years, receives an MPEG4 data stream in which video and audio data compressively coded by MPEG2 are MPEG4-packetized and multiplexed, the receiver cannot separate and decode the video and audio data compressed by MPEG2.
Furthermore, a broadcasting receiving terminal receives object composition information describing hierarchy of objects, and object descriptors describing coding schemes of the objects, several times, even though the contents of these data are not changed. This repetition is necessary because there is a possibility that receiving is started at an arbitrary timing in the broadcasting receiving terminal. The object composition information and the object descriptors are also subjected to MPEG4 packetization using the Access Unit Layer as well as video and audio data. However, when the receiving terminal receives such data of the same contents repeatedly, the burden on the receiving terminal may be increased.
Furthermore, MPEG4 does not provide a method for specifying object composition information, object descriptors, and video and audio data compressively coded by MPEG4, from multiplexed data.
It is an object of the present invention to provide an apparatus and a method for demultiplexing multiplexed data, that enable reliable separation and decoding of MPEG4 data even through the MPEG4 data is multiplexed by MPEG2.
Other objects and advantages of the invention will become apparent from the detailed description that follows. The detailed description and specific embodiments described are provided only for illustration since various additions and modifications within the spirit and scope of the invention will be apparent to those skilled in the art from the detailed description.
According to a first aspect of the present invention, there is provided a demultiplexing apparatus comprising: demultiplexing means for receiving a multiplexed packet stream in which a plurality of object data are multiplexed, and demultiplexing the multiplexed data with reference to packet identification numbers added to the respective packets; decoding means for decoding M pieces of object data separated from the multiplexed data, and outputting M pieces of decoded object data; a memory for storing N pieces of information relating to a program and separated by the demultiplexing means; a memory for storing object composition information separated by the demultiplexing means; a memory for storing information relating to the object data and separated by the demultiplexing means; composition means for compositing the M pieces of decoded object data; and information analysis means for analyzing the packet identification numbers from the N pieces of information relating to the program, the object composition information, or the information relating to the object data.
According to a second aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the N pieces of information relating to the program, obtains a packet identification number PID_syn of a packet containing the object composition information, and outputs the packet identification number PID_syn to the demultiplexing means; and the demultiplexing means separates the packet containing the object composition information from the input multiplexed packet stream with reference to the packet identification number PID_syn, and outputs this packet.
According to a third aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the N pieces of information relating to the program, obtains a packet identification number PID_od of a packet containing the information relating to the object data, and outputs the packet identification number PID_od to the demultiplexing means; and the demultiplexing means separates the packet containing the information relating to the object data from the input multiplexed packet stream with reference to the packet identification number PID_od, and outputs this packet.
According to a fourth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the object composition information, and outputs information indicating the hierarchical relationship of the object data toward the composition means; and the composition means composites the M pieces of decoded object data with reference to the hierarchical relationship.
According to a fifth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the information relating to the object data, judges a code Al_predefined for each of the object data, which code indicates whether packetization according to the international standard MPEG4 exists or not, and outputs the code Al_predefined toward the demultiplexing means; and the demultiplexing means performs separation of the MPEG4 packetization for each object data with reference to the code Al_predefined.
According to a sixth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the information relating to the object data, judges a code Al_predefined for each of the object data, which code indicates whether packetization according to the international standard MPEG4 exists or not, and outputs the code Al_predefined toward the decoding means; and the decoding means performs separation of the MPEG4 packetization with reference to the code Al_predefined.
According to a seventh aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the information relating to the object data, judges a code Al_config for each of the object data, which code indicates setting information of a packet header according to the international standard MPEG4, and outputs the code Al_config toward the demultiplexing means; and the demultiplexing means performs separation of the MPEG4 packetization for each object data with reference to the code Al_config.
According to an eighth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the information relating to the object data, judges a code Al_config for each of the object data, which code indicates setting information of a packet header according to the international standard MPEG4, and outputs the code Al_config toward the decoding means; and the decoding means performs separation of the MPEG4 packetization with reference to the code Al_config.
According to a ninth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means analyzes the N pieces of information relating to the program, obtains a packet identification number PID_d of a packet containing the object data and a packet identification number FMC_d according to the international standard MPEG4, and outputs these identification numbers toward the demultiplexing means; and the demultiplexing means separates the packet containing the object data from the input multiplexed packet stream with reference to the identification numbers PID_d and FMC_d, and outputs the packet.
According to a tenth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means obtains a code for deciding whether the packet identification number FMC_d according to the international standard MPEG4 is added or not, by analyzing the N pieces of information relating to the program.
According to an eleventh aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means receives the object composition information which is divided into at least one section, and integrates these sections with reference to version numbers and section numbers which are added at the heads of the respective sections, thereby obtaining the object composition information.
According to a twelfth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means receives the information relating to the object data, which information is divided into at least one section, and integrates these sections with reference to version numbers and section numbers which are added at the heads of the respective sections, thereby obtaining the information relating to the object data.
According to a thirteenth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means receives the object composition information which is divided into at least one section, decides whether data of each section has a data error or not according to an error detection code added to the end of each section, and discards the section having a data error.
According to a fourteenth aspect of the present invention, in the above-described demultiplexing apparatus, the information analysis means receives the information relating to the object data, which is divided into at least one section, decides whether data of each section has a data error or not according to an error detection code added to the end of each section, and discards the section having a data error.
According to a fifteenth aspect of the present invention, there is provided a demultiplexing method comprising the steps of: receiving a multiplexed packet stream in which a plurality of object data are multiplexed, and separating packets containing N pieces of information relating to a program from the multiplexed packet stream with reference to packet identification numbers added to the respective packets; analyzing the N pieces of information relating to the program, and obtaining a packet identification number PID_syn of a packet containing object composition information, and a packet identification number PID_od of a packet containing information relating to the object data; and separating packets, the packet identification numbers of which match the packet identification numbers PID_syn and PID od, from the multiplexed packet stream.
According to a sixteenth aspect of the present invention, there is provided a data recording medium in which a program is recorded, and the program comprises the steps of: receiving a multiplexed packet stream in which a plurality of object data are multiplexed, and separating packets containing N pieces of information relating to a program from the multiplexed packet stream with reference to packet identification numbers added to the respective packets; analyzing the N pieces of information relating to the program, and obtaining a packet identification number PID_syn of a packet containing object composition information, and a packet identification number PID_od of a packet containing information relating to the object data; and separating packets, the packet identification numbers of which match the packet identification numbers PID_syn and PID_od, from the multiplexed packet stream.